package cn.net.dpi.shp.model.entity;

import cn.net.dpi.shp.handler.LineStringTypeHandler;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import org.locationtech.jts.geom.LineString;

/**
 * 车道向量实体
 *
 * @author ake
 * @since 2024-12-27
 */
@Getter
@Setter
@TableName(value = "hd_lane", autoResultMap = true)
public class HdLane extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 车道编号
     */
    private String laneId;

    /**
     * 关联车道组
     */
    private String groupId;

    /**
     * 图幅编号
     */
    private String meshId;

    /**
     * 行政区划代码
     */
    private String adminCode;

    /**
     * 起点编号
     */
    private String snodeId;

    /**
     * 终点编号
     */
    private String enodeId;

    /**
     * 车道长度
     */
    private Double length;

    /**
     * 通行方向
     */
    private Long direction;

    /**
     * 当前行驶方向
     */
    private String laneTurn;

    /**
     * 车道序号
     */
    private Long sequence;

    /**
     * 车道类型
     */
    private Long laneType;

    /**
     * 车道宽度
     */
    private Double laneWidth;

    /**
     * 限速类型
     */
    private Long speedType;

    /**
     * 最高限速
     */
    private String speedMax;

    /**
     * 最低限速
     */
    private String speedMin;

    /**
     * 左标线编号
     */
    private String lMarkId;

    /**
     * 右标线编号
     */
    private String rMarkId;

    /**
     * 关联道路向量
     */
    private String refLink;

    /**
     * 车道变更标识
     */
    private Long changeFlg;

    private String time;

    @TableField(typeHandler = LineStringTypeHandler.class)
    private LineString geometry;

    private Long fileId;

    private String version;

    private Integer versionFlag;
}
